package com.tedu.api.thread;

/**
 * setDaemon(boolean b)设置线程为守护线程，true为守护线程
 *
 * 前台线程/用户线程：创建了一个线程
 * 后台线程/守护线程：创建一个线程，并且指定
 *
 * 案例：创建两个线程  t1 露丝   前台线程
 *                  t2 杰克   前台线程---指定守护线程
 *   结论：前台线程挂了，后台线程挂了
 *
 *   软件【工厂】--进程【车间】---线程【车间工人】
 *   所有线程挂了，【守护线程】进程挂了
 *
 *   守护线程多执行一次：特性：守护线程执行按照JVM虚拟机和操作系统调度策略管理
 *                         前台死亡，守护线程短暂性调取1次！
 *  所有前台线程死亡，守护线程死亡---进程关闭---软件关闭
 */
public class Thread_Deamon {
    public static void main(String[] args) {
    Thread t1=new Thread(()->{
    for (int i=0;i<5;i++){
    System.out.println("前台线程：露丝·德威特·布卡特");
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
              }
            }
    System.out.println("线程结束：露丝跳海了~");
    });//前台/用户线程
    Thread t2=new Thread(()->{
    while(true){
        System.out.println("后台/守护线程：杰克·道森");
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    });//前台/用户线程--指定后台/守护线程
        t2.setDaemon(true);
        t1.start();//女主：5秒  跳海  挂了
        t2.start();//男主：5秒   挂了
    }
}
